Server side programming is typically container-based, and all of services and relevant business logic are resident in different containers, such as various J2EE (Java 2 Platform Enterprise Edition) containers. The story is the same in an SOA (Service Oriented Architecture) environment. Services and components are available in application servers and maintained by containers. Thus, how to build automation test cases for those services and underlying implementation logic, as well as relevant supporting code in containers, make this kind of test as agile as the test of J2SE (Java 2 Platform Standard Edition) components is an important issue to be solved.
FIG. 1 illustrates such a typical test framework in the prior art. Generally, the test cases are packaged and deployed in server side containers for execution since the test logic will rely more and more on service functions provided by the containers. Some test tools build a test harness on the client side with redirector proxies to reflect test cases on the server side (such as Apache Cactus), or with servlets and XML configuration files to expose test cases on the server side (JUnitEE). Nevertheless, the test cases need to be rebuilt and redeployed to the server whenever any changes occur.